/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package moviefansystem;


import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JOptionPane;

/**
 *
 * @author Frank Eggink
 */
public class MySqlDatabase implements IDatabase {

    public MySqlDatabase() {
        //initialize database connections       
    }

    @Override
    public int voegNieuweKlantToe(Klant k/*String voornaam, String achternaam, String adres, String huisnummer, String woonplaats, String postcode, String telefoonnummer, String email, String geboortedatum*/) {
      //  System.out.println(voornaam + " " + achternaam + " " + adres + " " + huisnummer + " " + woonplaats + " " + postcode + " " + telefoonnummer + " " + email + " " + geboortedatum);

        //klant toevoegen aan database

        return 4567;//TODO moet klantnummer teruggeven

    }

    @Override
    public Klant zoekKlant(int klantnummer) {
        //klant opzoeken in de database
        //toon of de klant gevonden is
        //tijdelijk een klant aangemaakt met wat gegevens om te testen voor gui's
        Klant k = new Klant("Jan","de","Boom");
        k.setAdres("Vlietweg 20");
        k.setPostcode("3314 GH");
        k.setWoonplaats("Dordrecht");
        k.setTelefoonnr("0786141056");
        
        Items i = new Items();//persoonlijke Items aanmaken
        Films gehuurd = new Films("Gehuurde");
        
        Film film1 = new Film("Doornroosje", 1, 1);//films tijdelijk aanmaken
        Film film2 = new Film("7 dwergen", 1, 1);// ook film
        
        gehuurd.addFilms(film1);//film toevoegen aan gehuurde films
        gehuurd.addFilms(film2);//film toevoegen aan gehuurde films
        i.setHistoryGehuurdeFilms(gehuurd);
        
        Films nuVerhuurd = new Films("Nugehuurd");// film die Nu in bezit is van klant
        nuVerhuurd.addFilms(film2);
        i.setUitgeleendeFilms(nuVerhuurd);
                
        Films gereseveerd = new Films("gereseveerd");//gereseveerd
        gereseveerd.addFilms(film1);
        
        k.setPersoonlijkeItems(i);// voeg de personlijek items toe aan persoon
        return k;//TODO return aanpassen
    }

    @Override
    public boolean maakNieuweReservering(int klantnummer, int filmId) {
        return true;
    }

    @Override
    public boolean verwijderReservering(int klantnummer, int filmId) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int voegNieuweFilmToe(Film film) {
        
        return 200;
    }

    

    @Override
    public boolean leenItemUit(int klantnummer, int filmId) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean neemItemIN(int klantnummer, int filmId) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean toonFinancieelOverzicht() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
    

    @Override
    public boolean maakNieuweVerhuurd(int klantnummer, int filmId) {
        return true;
    }

    @Override
    public ArrayList<Film> getPersonlijkeItemsGehuurd(Klant klant) {
    
        Film film1 = new Film("Matrix",1,1);//films tijdelijk aanmaken
        Film film2 = new Film("9 dwergen", 1, 1);// ook film
        Film film3 = new Film("Pokemon", 1, 1);// ook film
        
        ArrayList<Film> test = new ArrayList<>();
        test.add(film1);
        test.add(film2);
        test.add(film3);
        
        return test;
    }

    @Override
    public ArrayList<Film> getPersonlijkeItemsGereseveerd(Klant klant) {
       
        ArrayList<Film> test = new ArrayList<>();
        
         Film film1 = new Film("Kabouter Plop",1,1);//films tijdelijk aanmaken
         test.add(film1);
        
        return test;
    }

    @Override
    public ArrayList<Film> getPersonlijkeItemsInBezit(Klant klant) {
     
        Film film1 = new Film("Kleine Dwergj",1,1);//films tijdelijk aanmaken
        Film film2 = new Film("De GVR", 1, 1);// ook film
        Film film3 = new Film("Ninja turtels", 1, 1);// ook film
        
        ArrayList<Film> test = new ArrayList<>();
        
        test.add(film1);
        test.add(film2);
        test.add(film3);
        
        return test;
    }

    @Override
    public ArrayList<Film> getAlleFilms() {
        
        Film film1 = new Film("Kleine Dwergj",1,1);//films tijdelijk aanmaken
        Film film2 = new Film("De GVR", 1, 1);// ook film
        Film film3 = new Film("Ninja turtels", 1, 1);// ook film
        Film film4 = new Film("Ninja turtels", 2, 2);// ook film
        film4.setPrijs(5.20);
        
        ArrayList<Film> test = new ArrayList<>();
        
        test.add(film1);
        test.add(film2);
        test.add(film3);
        test.add(film4);
        
        return test;
        
        
        
        
        
    }

    @Override
    public Film zoekFilm(int artikelNummer) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public ArrayList<Film> zoekFilm(String omschrijving) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
    
    
}